/*
 * PVP.h
 *
 *  Created on: 2014. 3. 21.
 *      Author: mega
 */

#ifndef PVP_H_
#define PVP_H_

#include <Network/Packet.h>

namespace ProjectZ {
class User;
} /*ProjectZ*/

namespace ProjectZ { namespace NLogic {
class Monster;
} /*NLogic*/ } /*ProjectZ*/

namespace ProjectZ { namespace NProcess { namespace NCombat {

class PVP {

public:
	struct Value
	{
		char effect;
		int damage_value;
		int defender_gid;
		int8_t defender_ismonster;
		int16_t degree;
		int8_t statetype;
		int8_t ismonster;
		int attacker_gid;
		uint8_t attack_type;

	public:
		Value()
		{
			effect = 0;
			damage_value = 0;
			defender_gid = 0;
			defender_ismonster = 0;
			degree = 0;
			statetype = 0;
			ismonster = 0;
			attacker_gid = 0;
			attack_type = 0;
		}
	};

public:
	PVP();
	virtual ~PVP();

	void 	Attack(User * pUser, ::Network::Packet * pPacket);
};

} /*NCombat*/ } /*NProcess*/ } /*ProjectZ*/

#endif /* PVP_H_ */
